package com.iwords.enums;

/**
 * 单词熟悉程度枚举。 getValue返回标识值。 getRetainDays返回该熟悉度上的单词，多少天（24小时）后可以复习。
 */
public enum KnownLevel {
	Known {
		public int getValue() {
			return 7;
		}

		public int getRetainDays() {
			return Integer.MAX_VALUE;
		}
	},
	Level5 {
		public int getValue() {
			return 6;
		}

		public int getRetainDays() {
			return 15;
		}
	},
	Level4 {
		public int getValue() {
			return 5;
		}

		public int getRetainDays() {
			return 7;
		}
	},
	Level3 {
		public int getValue() {
			return 4;
		}

		public int getRetainDays() {
			return 4;
		}
	},
	Level2 {
		public int getValue() {
			return 3;
		}

		public int getRetainDays() {
			return 2;
		}
	},
	Level1 {
		public int getValue() {
			return 2;
		}

		public int getRetainDays() {
			return 1;
		}
	},
	Unknown {
		public int getValue() {
			return 1;
		}

		public int getRetainDays() {
			return 1;
		}
	},
	None {
		public int getValue() {
			return 0;
		}

		public int getRetainDays() {
			return 0;
		}
	};
	public abstract int getValue();

	public abstract int getRetainDays();
}
